/*
@author: feng
@date: 2022/6/26 11:26
@Version: 1.0
@last modifined by : 2022/6/26 11:26
@last Modifined time : 2022/6/26 11:26
*/

import { createSlice } from '@reduxjs/toolkit';
import { getMovieData } from '@S/asyncAction/movie';

// 创建一个 Slice
const movie = createSlice({
  name: 'movie',
  initialState: {
    list: [],
    totals: 0
  },
  reducers: {},
  // extraReducers 字段让 slice 处理在别处定义的 actions，
  // 包括由 createAsyncThunk 或其他 slice 生成的 actions。
  extraReducers(builder) {
    builder
      .addCase(getMovieData.fulfilled, (state, {payload}) => {
        console.log('🚀 ~ fulfilled', state, '接受 getMovieData 抛出来的信息: ', payload);
        console.warn('使用 reduxjs/toolkit 后，reduxjs/toolkit 并没有想象中的好用，后续会继续换回 redux 或者，其它状态组件');
        state.list = payload.data.list;
        state.totals = payload.data.list.length;
      })
      .addCase(getMovieData.rejected, (state, err) => {
        console.log('🚀 ~ rejected', err)
      });
  },
});

// 导出方法
// export const { loadDataEnd } = movie.actions;

// 默认导出
export default movie.reducer;
